/*
    板子硬件情况定义，统一提供给APP或者其他驱动的名称
    GPIO的相关设置、模式切换建议定义在这里
*/
#ifndef _BOARD_H_
#define _BOARD_H_

#include "mcu.h"

#define BSP_MCU_MODEL       POLSYS_MCU_PY32

// #define LED                 ((gpio_pins_t *)&GPIOA->ODR)->pin1
#define Board_LedOn()			Gpio_ClrPin(GPIOA, 1)//CLEAR_BIT(GPIOA->ODR, GPIO_ODR_OD1)//LED = 0
#define Board_LedOff()			Gpio_SetPin(GPIOA, 1)//SET_BIT(GPIOA->ODR, GPIO_ODR_OD1)//LED = 1

#define Board_VloadHigh()       Gpio_SetPin(GPIOA, 3)
#define Board_VloadLow()        Gpio_ClrPin(GPIOA, 3)

#define Board_TKeyIOLow()   {Gpio_ClrPin(GPIOA, 5); Gpio_SetMode(GPIOA, 5, GPIO_MODE_OUTPUT);}
#define Board_TKeyIOHigh()  {Gpio_SetPin(GPIOA, 5); Gpio_SetMode(GPIOA, 5, GPIO_MODE_OUTPUT);}

#define Board_TKeyCapMode() Gpio_SetMode(GPIOA, 5, GPIO_MODE_ALTERNATE)

void Board_Init();


#define Board_GetTickCycleValue()   SYSTICK_VALUE
#define Board_GetTickNowValue()     (u32)(SYSTICK_VALUE - SysTick->VAL)

#endif

